package com.xzlf.job;

import com.dangdang.ddframe.job.api.ShardingContext;
import com.dangdang.ddframe.job.api.dataflow.DataflowJob;

import java.util.Arrays;
import java.util.List;

/**
 * Dataflow 类型用于处理数据流，
 * 必须实现 fetchData()和processData()的方法，一个用来获取数据，一个用来处理获取到的数据
 */
public class MyDataFlowJob implements DataflowJob<String> {

    private boolean flag = false;
    @Override
    public List<String> fetchData(ShardingContext shardingContext) {
        if (false){
            return null;
        }
        return Arrays.asList("张三","李四","王五");
    }

    @Override
    public void processData(ShardingContext shardingContext, List<String> data) {
        for (String item : data) {
            // 处理完数据要移除掉，不然就会一直跑,处理可以在上面的方法里执行。这里采用 flag
            System.out.println("开始处理数据：" + item);
        }
        flag = true;
    }
}
